Various forms of storage systems are used today. These forms include direct attached storage (DAS) network attached storage (NAS) systems, storage area networks (SANs), and others. Network storage systems are commonly used for a variety of purposes, such as providing multiple users with access to shared data, backing up data and others.
A storage system typically includes at least one computing system executing a storage operating system for storing and retrieving data on behalf of one or more client computing systems (“clients”). The storage operating system stores and manages shared data containers in a set of mass storage devices.
Storage systems are being used extensively in virtual machine environments where a physical resource is time-shared among a plurality of independently operating processor executable virtual machines. Typically, storage space is presented to a virtual machine as a virtual hard disk (VHD) file by a virtualization layer. A storage drive (for example, C:\) is then presented to a user via a user interface within a virtual machine context. The user can use the storage drive to access storage space to read and write information.
Often a plurality of virtual machines may be cloned from a master virtual machine. When the virtual machines are cloned from the master virtual machine, they may share the same physical storage blocks to store a boot image to initialize the virtual machines. The storage operating system maintains separate distinct logical numbers (or file block numbers) for each cloned virtual machine to access the boot image stored at the shared physical storage blocks.
Even though the physical storage blocks may be shared, in conventional systems, the virtualization layer has to obtain a same boot image from the storage system every time a request to initialize a virtual machine is received. When a plurality of virtual machines has to be initialized at a same time, the virtualization layer and the storage system may get overloaded, often in sending and receiving the same boot image. The network supporting the virtual machines and the storage system may also get overloaded because of sending and receiving the same boot image. Continuous efforts are being made to initialize a plurality of virtual machines that may share the same physical storage for storing the same boot image without overloading the network infrastructure including the virtualization layer and the storage system.